package com.yunxin.core.application.service;

import com.yunxin.common.result.PageResult;
import com.yunxin.core.application.command.product.ProductMorePageCommand;
import com.yunxin.core.application.dto.product.ProductBusinessSceneDTO;
import com.yunxin.core.application.dto.product.ProductInfoDTO;
import com.yunxin.core.application.dto.product.ProductMoreSimpleInfoDTO;
import com.yunxin.core.dto.ApiConfigWecom;

/**
 * @author zero°
 * @since 2023-06-08
 */
public interface ProductQueryGatewayService {

    /**
     * 获取产品业务场景
     * @param productId productId
     * @return ProductBusinessSceneDTO
     */
    ProductBusinessSceneDTO getProductBusinessScene(Long productId);

    /**
     * 获取产品信息
     * @param productId productId
     * @return ProductInfoDTO
     */
    ProductInfoDTO getProductInfo(Long productId);

    /**
     * 分页获取更多产品信息
     * @param command command
     * @return ProductMoreSimpleInfoDTO
     */
    PageResult<ProductMoreSimpleInfoDTO> moreProductPage(ProductMorePageCommand command);


    /**
     * 根据产品id获取企微配置信息
     * @param productId
     * @return
     */
    ApiConfigWecom getWeComApiConfig(Long productId);
}
